// let res = require("mymodule"); // 在node_modules里查找mymodule模块
// console.log(res);
// require("./a");
let res  = require("./a.json"); // commonjs规范会把json文件自动转成 对象或者数组
console.log(typeof res);
console.log(Array.isArray(res));
console.log( Object.prototype.toString.call(res));
console.log(res.constructor===Object);
console.log(res instanceof Object); // 判断实例是否在原型链上有关系。
// require(是模块名称);
// 首先会在同级的node_modules里查找对应的模块 ，如果同级的没有模块会自动查找上一级node_modules，直到找到系统根目录。如果最终没有找到，那么返还 Cannot find module 'mymodule1'


/* 
    nodejs里的模块化： commonjs规范
    1.引入文件 ： require("./文件路径.js"); 
    2.引入目录 ： require("./目录路径"); 
        自动查找目录下的index.js主入口
        可以通过更改package.json文件修改主入口
    3.引入特殊的目录 ：node_modules ,require("模块名");
        node_modules会自动向上查找模块 
    4.导出： 
         module.exports = {导出的内容};
         exports.a = 10; // 通过exports来改变 module.exports来达到导出的效果。
    5.导入文件，如果不加 后缀 默认会查找 js文件 ，在找.json文件，之后查找.node文件；
        .json文件可以直接导入，.node文件


*/